/*
 * Menu.java
 *
 * Created on 29 de marzo de 2006, 17:52
 */

package es.team.tareas.actions;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//import org.apache.log4j.Logger;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
//import es.aragon.educacion.sigi.management.SecurityManager;
import es.team.tareas.management.SessionManager;
//import es.aragon.educacion.sigi.util.Globals;

/**
 * Action auxiliar de la aplicaci�n, contiene aquellas action,
 * que por su naturaleza con necesitan de formulario y son breves.
 * @author Victor Gimeno
 * @version 1.0
 */

public class Menu extends DispatchAction {
    
//    private Logger logger = Logger.getLogger("SIGI");
//    private Logger logger = AplicationManager.getLogger();
    private final static String TO_INICIO = "toInicio";
    private final static String TO_MENU = "toMenu";
    private final static String TO_CREA_TAREA = "toCreaTarea";
    private final static String TO_BUSCA_TAREA = "toBuscaTarea";
    private final static String TO_SEARCH = "toSearch";
    private final static String TO_ERROR = "toSearch";
    private final static String TO_MAIN = "toMain";
    
    /**
     * Action para las opciones de modificaci�n y consulta, guarda en el bean de session
     * el rol que ha escogido el usuario "CREACI�N", "MODIFICACI�N" o "CONSULTA".
     * @param mapping Elemento de mappeo de Struts
     * @param form ActionForm asociado
     * @param request Objeto de la petici�n
     * @param response Objeto de la respuesta
     * @return ActionForward redirecci�n elegida
     */
    
            public ActionForward toSearch(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)
   /*public ActionForward toBuscaTarea(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)*/
            throws Exception {
         System.out.println("  -toBuscaTarea 0");
        /** Variable para los mensajes de error */
        ActionMessages errors = new ActionMessages();
        
        SessionManager sessionManager = new SessionManager(request);
          
        /** Compruebo que los beans de session no son nulos */
        System.out.println("  -toBuscaTarea 1");
    
//        if( !SecurityManager.isLoggedIn( request ) ){            
//        System.out.println("  -toSearch p2");
//            SwsUtil.saveErrorWeb(request,"jsp.errorWeb.title.generic","errors.pdf.generic","application.userNotLogged" );
//            return mapping.findForward(TO_ERROR); 
//        }
         
        /** Recojo el parametro que me indicar� el rol escogido por el usuario */
        String rol = request.getParameter("rol");
        System.out.println("  -Menu.java rol="+rol);
        /** Compruebo que el parametro rol me ha llegado. Si no redirijo al menu. */
//        if( OsUtils.NullEmpty(rol) ){
//            errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage("errors.global.generic"));
//            saveErrors(request, errors);
//            return mapping.findForward(TO_MENU);
//        }
       
        /** guardo el rol en el bean y lo subo de nuevo a la session */
//        sessionManager.putData(Globals.KEY_ROL_USER, rol);
        System.out.println("  -toBuscaTarea previo  toBuscaTarea");
                
        return mapping.findForward(TO_SEARCH);
    }
    
    /**
     * Action para la opci�n de creaci�n de una solicitud. Carga de bbdd los datos de
     * usuario necesarios y los datos de aplicaci�n necesarios
     * para la pantalla de peticiones.
     * @param mapping Elemento de mappeo de Struts
     * @param form ActionForm asociado
     * @param request Objeto de la petici�n
     * @param response Objeto de la respuesta
     * @return ActionForward redirecci�n elegida
     */
    public ActionForward toCreaTarea(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        
        ActionMessages errors = new ActionMessages();
//        SessionManager sessionManager = new SessionManager(request);
          
        /** Compruebo que los beans de session no son nulos */
        System.out.println("metodo toCreaTarea 1");
    
//        if( !SecurityManager.isLoggedIn( request ) ){            
//            SwsUtil.saveErrorWeb(request,"jsp.errorWeb.title.generic","errors.pdf.generic","application.userNotLogged" );
//            return mapping.findForward(TO_ERROR); 
//        }
        
//        sessionManager.putData(Globals.KEY_ROL_USER, Globals.APP_ROL.CREATE );
//        sessionManager.putData(Globals.KEY_SOLICITUD, null );
        //sessionManager.removeData(Globals.KEY_JUSTIFICANTE);
//        DatosOpcion oOpcSel=(DatosOpcion)sessionManager.getData(Globals.KEY_OPCION_SEL);
        //System.out.println("metodo create 3");
        
        /** Por ultimo cargo las peticiones en el formulario de la pagina de peticiones */
//        SaveForm fo = new SaveForm(AplicationManager.getNum_campos_primaria());
//        fo.setReservar( oOpcSel.getReservaActiva() );
//        fo.setOperation(Globals.VALOR_POR_DEFECTO);
//        if (oOpcSel.getCodOpc().equals(Globals.PAE))    {
//            fo.setNum_Campos(Integer.toString(AplicationManager.getNum_campos_primaria()));
//        } else {
//            fo.setNum_Campos(Integer.toString(AplicationManager.getNum_campos_secundaria()));
//        }    
//        fo.setAlto_Columna(Integer.toString(AplicationManager.getAlto_columna()));        
//        request.setAttribute("SaveForm", fo);
        return mapping.findForward(TO_CREA_TAREA);
    }
    
}
